﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using MvcEngine.Core.Account;

namespace MvcEngine.Core.Repositories
{
    public interface IPermissionRepository
    {
        IList<Permission> GetPermissions();


        IList<ControlPermission> GetControlPermissions(int pageContentId);

        void DeleteControlPermission(int pageContentId, Guid permissionId, Guid roleId);

        ControlPermission GetControlPermission(int pageContentId, Guid permissionId, Guid roleId);

        void AddControlPermission(ControlPermission permission);


        IList<PagePermission> GetPagePermissions(Guid pageId);

        PagePermission GetPagePermission(Guid pageId, Guid permissionId, Guid roleId);

        void DeletePagePermissions(Guid pageId);

        void DeletePagePermission(Guid pageId, Guid permissionId, Guid roleId);

        void AddPagePermission(PagePermission permission);
    }
}
